package com.project.service.gradeService;

import com.github.pagehelper.PageInfo;
import com.project.bean.UserBean;

/**
 * 用户业务接口类
 */
public interface IUserService {
    public int PAGESIZE=3;

    /**
     * 登录
     * @param userName 用户名
     * @param pwd 用户密码
     * @return 用户对象，登录失败返回null
     */
    public UserBean login(String userName, String pwd);

    /**
     * 根据用户id修改密码
     * @param id 用户id
     * @param newPwd 用户新密码
     */
    public void updatePwd(int id, String newPwd);

    /**
     * 根据用户名模糊条件查询用户
     * @param userName
     * @return
     */
    public PageInfo<UserBean> findByName(int pageNO, String userName);

    /**
     * 添加用户，同时添加该用户的角色和权限
     * @param userBean 用户对象
     */
    public void add(UserBean userBean, int[] roleId);

    /**
     * 删除用户,先删除用户角色中间表
     * @param id 用户id
     */
    public void del(int id);

    /**
     * 根据id查找用户对象
     * @param id 用户id
     * @return 用户对象
     */
    public UserBean findById(int id);

    /**
     * 修改用户权限，先删除该用户和角色中间表，再添加新的用户角色中间表
     * @param id 用户id
     * @param roleId 新的角色id数组
     */
    public void updateRole(int id, int[] roleId);
}
